<%@page isELIgnored="false" pageEncoding="UTF-8" contentType="text/html; UTF-8" %>
<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <title>layout 后台大布局 - Layui</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/layui/css/layui.css">
</head>
<body class="layui-layout-body">
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-logo">layui 后台布局</div>
        <!-- 头部区域（可配合layui已有的水平导航） -->
        <ul class="layui-nav layui-layout-left">
            <li class="layui-nav-item"><a href="">控制台</a></li>
            <li class="layui-nav-item"><a href="">商品管理</a></li>
            <li class="layui-nav-item"><a href="">用户</a></li>
            <li class="layui-nav-item">
                <a href="javascript:;">其它系统</a>
                <dl class="layui-nav-child">
                    <dd><a href="">邮件管理</a></dd>
                    <dd><a href="">消息管理</a></dd>
                    <dd><a href="">授权管理</a></dd>
                </dl>
            </li>
        </ul>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item">
                <a href="javascript:;">
                    <img src="http://t.cn/RCzsdCq" class="layui-nav-img">
                    <shiro:principal/>
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="">基本资料</a></dd>
                    <dd><a href="">安全设置</a></dd>
                </dl>
            </li>
            <li class="layui-nav-item"><a href="">退了</a></li>
        </ul>
    </div>

    <div class="layui-side layui-bg-black">
        <div class="layui-side-scroll">
            <!-- 左侧导航区域（可配合layui已有的垂直导航） -->
            <ul class="layui-nav layui-nav-tree"  lay-filter="menu_nav" id="menu_nav">


            </ul>
        </div>
    </div>

    <div class="layui-body">
        <!-- 内容主体区域 -->
        <div style="padding: 15px;">内容主体区域

            <div class="layui-tab layui-tab-brief layui-tab-card" lay-allowClose="true" lay-filter="myTab">
                <ul class="layui-tab-title">
                    <li class="layui-this">欢迎页</li>
                </ul>
                <div class="layui-tab-content">
                    <div class="layui-tab-item layui-show">欢迎使用持明法洲后台管理系统</div>
                </div>
            </div>

        </div>
    </div>

    <div class="layui-footer">
        <!-- 底部固定区域 -->
        © layui.com - 底部固定区域
    </div>



</div>
<script src="${pageContext.request.contextPath}/js/jquery-1.12.4.js"></script>
<script src="${pageContext.request.contextPath}/layui/layui.js"></script>
<script>

    $(function () {
        // 1.通过ajax获取后台数据
        $.ajax({
            url:"${pageContext.request.contextPath}/menu/selectAll",
            dataType:"JSON",
            success:function (data) {
                var content = "";
                // 2.生成一级菜单 遍历  each 参数1 被遍历的对象  参数2 匿名函数 函数参数1 下标 参数2 遍历到的元素
                $.each(data,function (index1,menu1) {
                    // 拼接一级菜单前标签
                    content += "<li class=\"layui-nav-item layui-nav-itemed\"><a class=\"\" href=\"javascript:;\">";
                    // 拼接一级菜单名字
                    content += menu1.menuName+"</a>";
                    // 3.拼接二级菜单内容
                    $.each(menu1.child,function (index2,menu2) {
                        // 拼接二级的前标签
                        // 因为 单引号 双引号 有特殊含义 会被js解析 通过 \" \' 可以转义  就是让js 把单引号和双引号当做字符串处理
                        content += "<dl class=\"layui-nav-child\"><dd><a href=\"javascript:;\" onclick='addTab(\"" +menu2.menuName+"\",\""+menu2.menuUrl+"\","+menu2.menuId+
                            ")'>";
                        // 拼接二级菜单名字
                        content += menu2.menuName;
                        // 拼接二级菜单后标签
                        content += "</a></dd></dl>";
                    });
                    // 一级的后标签
                    content += "</li>";
                });

                // 3.把生成html放到nav标签中
                $("#menu_nav").html(content)

                // 4.通过element渲染页面
                layui.use('element', function(){
                    var element = layui.element;
                    element.render('nav', 'menu_nav');
                });
            }
        })
    });



    // 打开选项卡的点击事件
    function addTab(menuName,menuUrl,menuId) {
        console.info(menuName)
        console.info(menuUrl)
        console.info(menuId)
        layui.use('element', function(){
            var element = layui.element;
            // 添加选项卡
            element.tabAdd('myTab', {
                title: menuName
                ,content: '<iframe src="${pageContext.request.contextPath}'+menuUrl+'" width="100%" height="100%"></iframe>' //支持传入html
                ,id: menuId
            });

            // 切换到选项卡上
            element.tabChange('myTab', menuId);
        });
    }
</script>
</body>
</html>